<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Rpt_Becas extends MN_Controller {

    function __construct() {
        parent::__construct();
        $this->load->database();
        $this->load->helper(array('url', 'form'));
        $this->load->library('ion_auth');
        $this->load->library('session');
        $this->load->model('Periodos_Model');
        $this->load->model('Pensum_Model');
        $this->load->model('Carrera_Model');
        $this->load->model('Ciclos_Model');
        $this->load->model('Reportes_Model');
    }

    public function index() {

        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_admin() )) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();
    }

    public function inicio() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_admin() )) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();


        $this->data['periodos'] = $this->Periodos_Model->getListado();
        //$this->data['periodos'] = $this->Periodos_Model->getPeriodoActivo();
        $this->data['carrera'] = $this->Carrera_Model->getListado();

        $periodo = $this->uri->segment(3);
        $ide_car = $this->uri->segment(4);
        $ide_pen = $this->uri->segment(5);
        $codigo_cic = $this->uri->segment(6);
        //$seccion = $this->uri->segment(7);
        //$paralelo = $this->uri->segment(8);

        if (!empty($periodo) && $periodo != -1) {
            $this->data['periodos'] = $this->Periodos_Model->getListado();
            $this->data['periodo'] = $periodo;
        } else {
            $this->data['periodos'] = $this->Periodos_Model->getListado();
            $this->data['periodo'] = -1;
            //$periodo = $this->data['periodos'][0];
        }


        if (!empty($ide_car) && $ide_car != -1) {
            $this->data['pensum'] = $this->Pensum_Model->getPensumCarreras($ide_car);
            $this->data['ide_car'] = $ide_car;
            //$this->data['ide_pen'] = -1;
        } else {
            $this->data['ide_car'] = -1;
        }
        if (!empty($ide_pen) && $ide_pen != -1) {
            $this->data['ciclo'] = $this->Ciclos_Model->getCiclosPensum($ide_pen);
            $this->data['ide_pen'] = $ide_pen;
        } else {
            $this->data['ide_pen'] = -1;
        }
        if (!empty($codigo_cic) && $codigo_cic != -1) {
            //$this->data['materias'] = $this->Materia_Model->getMateriaCiclo($codigo_cic);
            $this->data['codigo_cic'] = $codigo_cic;
        } else {
            $this->data['codigo_cic'] = -1;
        }



        if (isset($_POST['btn1'])) {
            //$cod=$this->input->post('ide_pen');

            $carr = $this->Carrera_Model->getDatosCarrera($ide_car);
            $this->data['nom_car'] = $carr[0]['nombre_car'];
            $this->data['ide_lec'] = $periodo['ide_lec'];
        }
        $this->_render('rpt_becas/new');
    }

    public function procesar() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_admin() )) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();


        $ide_lec = $this->input->post('ide_lec');
        $ide_car = $this->input->post('ide_car');
        $ide_pen = $this->input->post('ide_pen');
        $ide_ciclo = $this->input->post('codigo_cic');
        $seccion = $this->input->post('seccion');
        $paralelo = $this->input->post('paralelo');
        if (isset($_POST['listar'])) {
            $seccion = 0;
            $this->data['listar'] = 1;
        }


        $this->data['nom_seccion'] = ($seccion == 1 ? "DIURNO" : ($seccion == 2 ? "NOCTURNO" : "FIN DE SEMANA"));
        $arreglo = array();



        if ($ide_lec > 0 && $ide_car > 0 && $ide_pen > 0 && $ide_ciclo > 0 && $seccion > 0) {
            $arreglo = $this->Reportes_Model->getBecasPorSemestreCarreraCicloJornada($ide_lec, $ide_car,$ide_pen,$ide_ciclo,$seccion,$paralelo);
            //$newArray = array();
            //foreach ($arreglo as $key => $pos) {
           //     if ($ide_lec == $pos['periodos_lectivos_ide_lec'] && $ide_car == $pos['ide_car'] && $ide_pen == $pos['ide_pen'] && $ide_ciclo == $pos['ide_cic'] && $seccion == $pos['seccion']) {
            //        $newArray[] = $arreglo[$key];
            //    }
            //}
            //$this->data['reporte'] = $newArray;
            $this->data['reporte'] = $arreglo;

            //echo ($ide_lec . '-' . $ide_car . '-' . $ide_pen . '-' . $ide_ciclo . '-' . $seccion);
            //echo "aqui";
            //print_r($arreglo);
            $this->_render('rpt_becas/lista1');
        } else { //if ($ide_lec >0 && $ide_car <0 && $ide_pen<0 && $ide_ciclo<0 && $seccion>0) {
            $arreglo = $this->Reportes_Model->getBecasPorSemestreCarreraCicloJornada($ide_lec, $ide_car,$ide_pen,$ide_ciclo,$seccion,$paralelo);
            if (count($arreglo) > 0) {
                $arreglo = $this->orderMultiDimensionalArray($arreglo, 'apellido_pers', false);


            //echo ($ide_lec.$ide_car.$ide_pen.$ide_ciclo.$seccion);
            if (isset($_POST['listar'])) {
                $arreglo = $this->orderMultiDimensionalArray($arreglo, 'seccion', false);
            } else {
                $arreglo = $this->orderMultiDimensionalArray($arreglo, 'nombre_car', false);
            }
           }

            $this->data['reporte'] = $arreglo;
            $this->_render('rpt_becas/lista2');
        }


        //$this->_render('rpt_inscrip/lista1');
    }

    function orderMultiDimensionalArray($toOrderArray, $field, $inverse = false) {
        $position = array();
        $newRow = array();
        foreach ($toOrderArray as $key => $row) {
            $position[$key] = $row[$field];
            $newRow[$key] = $row;
        }
        if ($inverse) {
            arsort($position);
        } else {
            asort($position);
        }
        $returnArray = array();
        foreach ($position as $key => $pos) {
            $returnArray[] = $newRow[$key];
        }
        return $returnArray;
    }

}
